<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="./css/reset.css">
    <link rel="stylesheet" href="./css/iconfont.css">
    <link rel="stylesheet" href="./css/main.css">
    <!--3.2 引入删除css  js-->
    <link rel="stylesheet" href="./libs/layui/css/modules/layer/default/layer.css">
    <script src="./libs/jquery/jquery.min.js"></script>
    <script src="./libs/bootstrap/js/bootstrap.min.js"></script>
    <script src="./libs/layui/lay/modules/layer.js"></script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">
            文章类别管理
        </div>
        <div class="container-fluid common_con">
            <div class="row" style="margin-top: 10px;">
                <div
                    class="col-xs-offset-10 col-sm-offset-10 col-md-offset-10 col-lg-offset-10 col-xs-2 col-sm-2 col-md-2 col-lg-2">
                    <a href="javascript:void(0)" class="btn btn-success" id="xinzengfenlei" data-toggle="modal"
                        data-target="#myModal">新增分类</a>
                </div>
            </div>
            <table class="table table-striped table-bordered table-hover mp20 category_table">
                <thead>
                    <tr>
                        <th>名称</th>
                        <th>描述</th>
                        <th class="text-center" width="100">操作</th>
                    </tr>
                </thead>
                <tbody id="tbody">
                    <!-- <tr>
                        <td>爱生活</td>
                        <td>热爱生活</td>
                        <td class="text-center">
                            <a href="javascript:void(0)" data-toggle="modal" class=" btn btn-info btn-xs">编辑</a>
                            <a href="javascript:void(0)" class="btn btn-danger btn-xs">删除</a>
                        </td>
                    </tr> -->
                </tbody>
                <!-- <tfoot>
                    <tr>
                        <td colspan="3" class="text-center">
                            <a href="javascript:void(0)" class="btn btn-success" id="xinzengfenlei" data-toggle="modal"
                                data-target="#myModal">新增分类</a>
                        </td>
                    </tr>
                </tfoot> -->
            </table>
        </div>
    </div>
    <!-- 编辑分类布局区域 -->
    <div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                            aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">编辑分类</h4>
                </div>
                <div class="modal-body">
                    <div class="add_category">
                        <div class="form-group">
                            <label for="name">分类名</label>
                            <input type="text" class="form-control" id="name_edit" placeholder="分类名">
                        </div>
                        <div class="form-group">
                            <label for="slug">分类别名</label>
                            <input type="text" class="form-control" id="slug_edit" placeholder="分类别名">
                        </div>
                        <div class="modal-footer">
                            <button type="button" data-dismiss="modal" class="btn btn-default">取消</button>
                            <button type="button" class="btn btn-primary btn_opt_edit">保存</button>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
    <!-- 编辑分类布局区域 -->

    <!-- 新增分类布局区域 -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                            aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel">新增分类</h4>
                </div>
                <div class="modal-body">
                    <div class="add_category">
                        <div class="form-group">
                            <label for="name">分类名</label>
                            <input type="text" class="form-control" id="name" placeholder="分类名">
                        </div>
                        <div class="form-group">
                            <label for="slug">分类别名</label>
                            <input type="text" class="form-control" id="slug" placeholder="分类别名">
                        </div>
                        <div class="modal-footer">
                            <button type="button" data-dismiss="modal" class="btn btn-default">取消</button>
                            <button type="button" class="btn btn-primary btn_opt">保存</button>
                        </div>
                    </div>
                </div>

            </div>
        </div>

    </div>
    <script src="./js/http.js"></script>
    <!-- 1.3 引入模板js -->
    <script src="./libs/art-template/template-web.js"></script>
    <!-- 1.4 定义模板 -->
    <script id="art_list" type="text/html">
    {{each data}}
    <tr>
        <td>{{$value.name}}</td>
        <td>{{$value.slug}}</td>
        <td class="text-center">
            <a href="javascript:void(0)" onclick="edit_open({{$value.id}})" class=" btn btn-info btn-xs">编辑</a>
            <a href="javascript:void(0)" onclick="del({{$value.id}})"class="btn btn-danger btn-xs">删除</a>
        </td>
    </tr>
    {{/each}}
</script>

    <script>
        $(function () {
            // 1. 获取文章分类数据
            get_list()
            // 2. 新增分类 给保存按钮注册一个Click事件
            $('.btn_opt').click(function () {
                // 2.1 获取页面输入的数据
                let name = $('#name').val();
                let slug = $('#slug').val();
                // 2.2 将数据发送给服务器: /admin/category/add
                let prams = {
                    name: name,
                    slug: slug
                }
                myAjax('post', '/admin/category/add', prams, function (resData) {
                    // 2.3 判断如果服务器响应异常则提示用户
                    if (resData.code !== 200) {
                        alert(resData.msg);
                        return;
                    }
                    // 2.4 刷新数据
                    get_list();
                    // 2.5 关闭窗口
                    $('#myModal').modal('hide');
                    // 2.6清空文本框数据
                    $('#name').val('');
                    $('#slug').val('');
                })
            })
            // 5. 编辑按钮的点击事件注册
            init_edit_click();
        })



        // 1.1 把数据显示到页面
        function get_list() {
            myAjax('get', '/admin/category/list', null, function (resData) {
                // 1.2 将数据添加到模板中
                let resHtml = template('art_list', resData);
                // 1.5 将模板生成好的tr标签覆盖到tbody中
                $('#tbody').html(resHtml);
            })
        }

        // 3.1 删除事件
        function del(c_id) {
            // 3.3弹出框
            layer.confirm('你确认删除此数据吗?', { icon: 3, title: '删除确认' }, function (index) {
                //3.4 获取要删除的分类id发出ajax请求，让服务器执行删除动作
                myAjax('post', '/admin/category/delete', { id: c_id }, function (resData) {
                    if (resData.code !== 200) {
                        layer.msg(resData.msg);
                        return;
                    }
                    // 3.5 刷新列表数据 
                    get_list();
                })
                layer.close(index);
            });
        }

        // 4.1 定义edit_open方法负责打开模态框同时获取老数据展示在页面上
        let c_id_global = 0;
        function edit_open(c_id) {
            c_id_global = c_id;
            // 4.2 点击编辑打开窗口
            $('#editModal').modal('show');
            // 4.3 根据id 获取到老数据
            myAjax('get', '/admin/category/search', { id: c_id }, function (resData) {
                if (resData.code !== 200) {
                    alert(resData.msg);
                    return;
                }
                if (!resData.data || resData.data.length <= 0) {
                    layer.msg('id参数异常，请检查');
                    return;
                }
                // 4.4 将旧数据显示在网页上
                let data = resData.data[0];
                $('#name_edit').val(data.name);
                $('#slug_edit').val(data.slug);
            })
        }

        function init_edit_click() {
            // 5.点击保存
            $('.btn_opt_edit').click(function () {
                // console.log(123456);
                // 2.1 获取页面输入的数据
                let name = $('#name_edit').val();
                let slug = $('#slug_edit').val();
                let cid = c_id_global;
                // 2.2 将数据发送给服务器: /admin/category/add
                let prams = {
                    id: cid,
                    name: name,
                    slug: slug,
                }
                myAjax(
                    'post', '/admin/category/edit', prams, function (resData) {
                        if (resData.code != 200) {
                            alert(resData.msg);
                            return;
                        }
                        // 刷新页面数据
                        get_list();

                        // 关闭编辑模态窗口
                        $('#editModal').modal('hide');
                    })
            })
        }
    </script>

</html>